Improving Operating System Decomposition by Microkernel Design
نویسندگان
چکیده
There have been numerous attempts to decompose operating systems into multiple servers running on top of a microkernel. Decomposition offers a lot of advantages, such as better security and robustness, flexibility with respect to changing requirements, reusability of servers in different contexts, and maintainability due to clearly defined roles and interfaces. Yet, multi-server operating systems often turn out to be significantly more complex than their monolithic counterparts. This architectural overhead increases disproportionally to the number of components, thereby imposing a limit on the achievable granularity. A major factor is the programming model which all microkernels explicitly or implicitly enforce on servers designed for them. A server always consists of both the code that performs its particular task within the operating system, and the glue code that maps the nature of the task onto the concepts of the underlying microkernel. If a multi-server OS turns out to be more complex than a monolithic OS performing the same tasks, then all of the additional complexity stems from the necessary glue code. We postulate that fine-grained decomposition can be achieved by defining a suitable programming model for servers, designed in a way that minimizes the amount of glue code required. The key to this approach is our definition of servers as light-weight, universal components, which, instead of glue code, contain additional information describing their role and interaction. In this thesis, we build a prototype multi-server OS to evaluate in how far the model improves operating system decomposition. The results are largely positive: The programming model has turned out to be suitable for various different types of system components. The components in our system are as fine-grained as possible from a technical point of view. Although a direct translation of existing interfaces to our programming model can be problematic, existing code can feasibly be reused when adapted to our own interfaces. However, the performance of our system is not satisfactory yet, possibly requiring modifications to the programming model.
منابع مشابه
Dependability of COTS Microkernel-Based Systems
ÐThe commercial offer concerning microkernel technology constitutes an attractive alternative for developing operating systems to suit a wide range of application domains. However, the integration of COTS microkernels into critical embedded computer systems is a problem for system developers, in particular due to the lack of objective data concerning their behavior in the presence of faults. Th...
متن کاملFast Control Method of Software-Managed TLB for Reducing Zero-Copy Communication Overhead
Microkernel operating systems (OSes) use zero-copy communication to reduce the overhead of copying transfer data, because the communication between OS servers occurs frequently in the case of microkernel OSes. However, when a memory management unit manages the translation lookaside buffer (TLB) using software, TLB misses tend to increase the overhead of interprocess communication (IPC) between ...
متن کاملOn the Integration of DSP Hardware into aMicrokernel - based Operating System
Two technological developments reraise the debate about the use of DSPs as accelerators for certain applications vs. the employment of standard oo-the-shelf microprocessors: Tremendous development investments make general-purpose microprocessors even more powerful by the use of superscalar execution and sophisticated caching structures. Microkernel-based operating system architec-tures permit v...
متن کاملThe Logical Design of the RHODOS Multi-threaded Microkernel*
As the RHODOS system has come under increasing use, the need to utilise multiple threads of control within the microkernel has become apparent. In this report we present the logical design of a multi-threaded microkernel for the RHODOS distributed operating system. The important components of the RHODOS microkernel (both hardware dependent and independent) that require design and development to...
متن کاملResearch into the Development of the RHODOS Multi - threaded Microkernel *
An important factor contributing to an operating systems' performance is the design and efficiency of the kernel code. This is especially true for microkernel based operating systems where the microkernel and kernel provides support for system servers. RHODOS is a microkernel based distributed operating system designed as a testbed for the study of the numerous research topics available in this...
متن کامل